var async=require('async');
var h=require('./helper');

//并行执行多个函数，每个函数都是立即执行，不需要等待其它函数先执行。传给最终callback的数组中的数据按照tasks中声明的顺序，而不是执行完成的顺序。

async.parallel([
    function (cb) {
        h.delay('d1',cb);
    },
    function (cb) {
        h.delay('d2',cb);
    },
    function (cb) {
        h.delay('d3',cb);
    }
], function (err, result) {
    console.log('err:',err);
    console.log('result:',result);//result: [ 'd1 delay: 838 ms', 'd2 delay: 55 ms', 'd3 delay: 832 ms' ]
});


async.parallel({
    'bc':function (cb) {
        h.delay('d1',cb);
    },
    'hot':function (cb) {
        h.delay('d2',cb);
    }
}, function (err, result) {
    console.log('err:',err);
    console.log('result2:',result);//result2: { bc: 'd1 delay: 887 ms', hot: 'd2 delay: 948 ms' }
});